package com.tjetc.tcp.client;

import com.tjetc.util.StreamUtils;

import java.io.*;
import java.net.Socket;

public class _3Client {
    public static void main(String[] args) throws Exception {
        try (
                Socket socket = new Socket("192.168.60.100", 9999);
                // 输入流把本地资源加载到内存中
                BufferedInputStream bis = new BufferedInputStream(new FileInputStream("/Users/gaoyongxiang/百度网盘/IDEA-Java/202507-java-se/chapter17/img/头像.jpg"));
                // 输出流将图片资源发送给服务器
                BufferedOutputStream bos = new BufferedOutputStream(socket.getOutputStream());
                // 读取服务器发送过来的消息
                BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));

        ) {
            /*
                思路分析：
                1.客服端通过输入流把本地资源加载到内存中
                2.客户端通过输出流将图片资源发送给服务器
                3.服务器通过输入流读取客户端的数据
                4.服务器通过输出流将图片资源保存到本地
             */

            byte[] bytes = StreamUtils.streamToByteArray(bis);
            // 验证图片资源读取到
//            System.out.println(bytes);
            bos.write(bytes);
            socket.shutdownOutput();

            String line = "";
            line = br.readLine();
            System.out.println(line);
            System.out.println("客户端退出");
        }

    }
}
